<?php

if (!empty($_GET["action"])) {
    switch ($_GET["action"]) {
        case 'login':
            iniciarSesion($_POST["Cedula"], $_POST["PW"]);
            break;
        case 'logout':
            cerrarSesion();
            break;
        case 'getprofiles':
            obtenerPerfiles();
            break;
        case 'setprofile':
//            session_start();
            establecerPerfil($_POST["rol"]);            
            header( 'Location: ../MiPerfil.html' ) ;
            echo '';
            break;
        default :
            echo 'noo';
            break;
    }
}

function iniciarSesion($cedula, $pw) {
    include_once './conexion.php';
    $conection = open();
    $query = "SELECT PW FROM usuarios WHERE Cedula='".$cedula."';";
    $resultado = mysql_query($query, $conection) or die(mysql_error() . " " . mysql_errno());

    if (mysql_num_rows($resultado) > 0 && mysql_num_rows($resultado) < 2) {
        $fila = mysql_fetch_array($resultado);
        if ($fila[0] == $pw) {
            $query = "SELECT Nombre, Apellido1, Apellido2 FROM datos_personales WHERE Cedula='".$cedula."';";
            $resultado = mysql_query($query, $conection) or die(mysql_error() . " " . mysql_errno());
            if (mysql_num_rows($resultado) > 0 && mysql_num_rows($resultado) < 2) {
                $fila = mysql_fetch_array($resultado);
                session_start();
                $_SESSION["Cedula"] = $cedula;
                $_SESSION["Nombre"] = $fila[0] . " " . $fila[1] . " " . $fila[2];                
                $resultado = 0;
            }
        } else {
            $resultado = "Usuario o contrase&ntilde;a invalida!!";
        }
    } else {
        $resultado = "Usuario o contrase&ntilde;a invalida!!";
    }
    close($conection);
    echo $resultado;
}

function cerrarSesion() {
    session_start();
    $_SESSION = array();
    session_destroy();
    header("location: ../index.html"); 
    
}

function obtenerPerfiles() {
    include_once './conexion.php';
    $conection = open();
    session_start();
    $query = "SELECT roles.CodigoRol, roles.Descripcion FROM roles, detalle_usuarios WHERE detalle_usuarios.CodigoRol = roles.CodigoRol AND detalle_usuarios.Cedula = '". $_SESSION["Cedula"]."';";
    $resultado = mysql_query($query, $conection) or die(mysql_error() . " " . mysql_errno());

    if (mysql_num_rows($resultado) > 1) {
        while ($fila = mysql_fetch_array($resultado)) {            
            echo '<option value="'. $fila[0] .'">'. $fila[1] .'</option>';
        }
    }
    
    if (mysql_num_rows($resultado) == 1) {
        while ($fila = mysql_fetch_array($resultado)) {            
            establecerPerfil($fila[0]);
            echo 'a-1';
        }
    }
    
    if(mysql_num_rows($resultado) == 0){
        echo 'a-2';
    }

    close($conection);
    mysql_free_result($resultado);
}

function establecerPerfil($perfil) {    
    if (!empty($_SESSION["Cedula"])){
        $_SESSION["rol"] = $perfil;
        $_SESSION["tiempo"] = time();
    }
    else{
        session_start();
        $_SESSION["rol"] = $perfil;
        $_SESSION["tiempo"] = time();
    }
    
}

function verificarSesion() {
    session_start();    
    if (!empty($_SESSION["rol"])){               
        if((time()-180) > $_SESSION["tiempo"])
        {            
            session_destroy();
            header("location: error.html?codigo=405"); 			
        }
        else{
            $_SESSION["tiempo"] = time();
        }
    }
    else{
        header("location: error.html?codigo=406"); 
    }        
}

function errores($numero) {
    switch ($numero) {
        case 405:
            echo "Su sesion expiro por favor <li><a href='".'index.html#login'."'>Inisie sesion</a></li>";
            break;
        case 406:
            echo "A un no a iniciado sesion!!<br/>Para solucionar esto debe de: <li><a href='".'index.html#login'."'>Inisie sesion</a></li>";
            break;
        default:
            break;
    }
}

function imprimirFunciones() {

    session_write_close ();
    session_start();
    $page=array();
    array_push($page, array("href"=>"Instituciones.html", "Nombre"=>"Instituciones"));
    array_push($page, array ("href"=>"Directores.html", "Nombre"=>"Directores"));
    array_push($page, array ("href"=>"Profesores.html", "Nombre"=>"Profesores"));
    array_push($page, array ("href"=>"Secretaria.html", "Nombre"=>"Secretaria"));
    array_push($page, array ("href"=>"Matricula.html", "Nombre"=>"Matricula"));
    array_push($page, array ("href"=>"Informes.html", "Nombre"=>"Informes"));
    array_push($page, array ("href"=>"source/sesion.php?action=logout", "Nombre"=>"Salir"));
   
    
    $a=split('/', $_SERVER[ "PHP_SELF"]);$a = $a[2];
    switch ($_SESSION['rol']) {
        case 'a7':
            foreach ($page as $value) {
                if ($a===$value['href']) {
                    echo '<li><a href="'.$value['href'].'" class="active">'.$value['Nombre'].'</a></li>';
                }else{
                    echo '<li><a href="'.$value['href'].'">'.$value['Nombre'].'</a></li>';
                }
            }
            
            
            
            break;
        case 'a4':           
            echo '<li><a href="MiPerfil.html">Estudiantes</a></li>';                                    
            echo '<li><a href="index.html">Secretaria</a></li>';
            echo '<li><a href="index.html">Informes</a></li>';
            break;

        default:
            break;
    }    
}

?>
